package com.gopay.common.user.dao;

import java.io.Serializable;
import java.util.List;

import com.gopay.common.base.dao.BaseDAO;
import com.gopay.common.domain.cust.CustPersonInfo;
import com.gopay.common.domain.user.identify.PersCertChannelDTL;

/**
 * 身份证渠道记录Dao
 * @PersCertChannelDtlDao.java
 * @author zhaojunting
 * @2016年5月19日 下午5:09:56  www.gopay.com.cn Inc.All rights reserved.
 */
public interface PersCertChannelDtlDao extends BaseDAO<PersCertChannelDTL, Serializable>{

    /**
     * 添加渠道认证记录
     * @param cust      客户信息对象
     * @param channel   渠道代码
     * @param status    状态（01-成功， 02-失败）
     * @return
     */
    public PersCertChannelDTL addCertChannelDtl(CustPersonInfo cust, String channel, boolean isSuccess);

    /**
     * 查询客户 验证成功的渠道数量
     * @param certId    客户ID
     * @return
     */
    public int findSuccessCertChannelCountsByCustId(String custId);
    
    /**
     * 查询客户是否成功验证过航空实名认证接口
     * @param cust      客户信息对象
     * @return
     */
    public boolean hasDoQueryCertificationSuccess(CustPersonInfo cust);
    
    /**
     * 查询客户是否验证过航空实名认证接口(不管成功失败)
     * @param cust
     * @return
     */
    public boolean hasDoQueryCertification(CustPersonInfo cust);
    /**
     * 查询客户是否有国政通渠道
     * @author gaocl
     * @2016年6月14日 下午4:47:09 www.gopay.com.cn Inc.All rights reserved.
     */
    public PersCertChannelDTL findByCustIdAndChannel(String custId,String channelCode);


    /**
     * 根据客户id，银行卡号，渠道code
     * @param custId
     * @param cardNo
     * @param channelCode
     * @return
     */
    public PersCertChannelDTL findByCardNoAndChannel(String custId, String cardNo, String channelCode);

    public PersCertChannelDTL findByCardNoAndChannel(String custId, String cardNo);
}
